<?php
class Form_MovieUpload extends Form_Abstract
{
	protected function _getValidatorRules()
	{
		$validator = array(
			'title'		 => array(
				new Zend_Validate_NotEmpty(),
				new Zend_Validate_StringLength(0, 32, 'UTF-8'),
				new Validate_PlatformDependentCharacter(),
				Zend_Filter_Input::MESSAGES => array(
					'タイトル'.C_ERR_REQUIRE,
					'タイトル'.C_ERR_LEN_OVER,
					'タイトル'.C_ERR_NG_CHARACTER
				),
			),
		);
	
		return $validator;
	}
		
	public function isValid()
	{
		if(is_null($this->_result)){
			$params = $this->getParams();
			
			$filterInput = new Zend_Filter_Input(null, $this->_getValidatorRules(), $params);
			
			$flg = $filterInput->isValid();
			
			foreach($filterInput->getMessages() as $key => $value){
				$this->_messages[$key] = array_shift($value);
			}
			
			if(isset($_FILES['movie']['tmp_name']) && strlen($_FILES['movie']['tmp_name'])){
				$temp_file = $_FILES['movie']['tmp_name'];
				if(!File_Movie_Util::isMovieFile($temp_file)){
					$this->_messages['movie'] = '認識できないファイルがアップロードされました。';
					$flg = false;
				}
			}
			else{
				$this->_messages['movie'] = '動画ファイルが指定されていません。';
				$flg = false;
			}
			
			$this->_result = $flg;
		
		}
		return $this->_result;
	}
}